package com.hsnn.medstgmini.pro.project.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.hsnn.medstgmini.Constants;
import com.hsnn.medstgmini.pro.project.model.form.ProdNoticeForm;
import com.hsnn.medstgmini.pro.project.service.ProdNoticeManager;
import com.hsnn.medstgmini.sys.model.SysNotice;
import com.hsnn.medstgmini.sys.model.SysUser;
import com.hsnn.medstgmini.sys.service.SysNoticeManager;
import com.hsnn.medstgmini.util.Pagination;

/**
 * @category 生产企业招标公告管理
 * @author 蔡春龙
 * @date 2015年8月24日
 */
@Controller
@RequestMapping("/prodNotice")
public class ProdNoticeController {

	private static final Logger logger = LoggerFactory
			.getLogger(ProdNoticeController.class);

	@Autowired
	private ProdNoticeManager prodNoticeManager;

	@Autowired
	private SysNoticeManager sysNoticeManager;

	@Autowired
	private HttpServletRequest request;

	@Autowired
	private HttpSession session;

	/**
	 * @category 获取当前登陆人信息
	 * @author 言科
	 * @date 2015年7月22日 SysUser
	 */
	public SysUser getUser() {
		return (SysUser) session.getAttribute(Constants.USERINFO);
	}

	/**
	 * @category 生产企业跳转招标公告页面
	 * @date 2015年8月25
	 * @return
	 */
	@RequestMapping("/toNoticeList")
	public String toNoticeList() {
		logger.info("enter toNoticeList method!");
		return "/pro/project/prod/noticeList";
	}

	/**
	 * @category 生产企业获取招标公告列表
	 * @date 2015年8月25日
	 * @param form
	 * @return
	 */
	@RequestMapping("/getNoticeList")
	@ResponseBody
	public Pagination getNoticeList(ProdNoticeForm form) {
		Pagination page = new Pagination(request);
		try {
			page.setForm(form);
			prodNoticeManager.getNoticeList(page);
			page.setSuccess(true);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e.getMessage());
			page.setSuccess(false);
		}
		return page;
	}

	/**
	 * @category 生产企业跳转招标公告详情页面
	 * @date 2015年8月25
	 * @return
	 */
	@RequestMapping("/toNoticeDetail")
	public String toNoticeDetail(Model model, String noticeId) {
		logger.info("enter toNoticeDetail method!");
		SysNotice notice = sysNoticeManager.getSysNoticeById(noticeId);
		model.addAttribute("notice", notice);
		return "/pro/project/prod/noticeDetail";
	}

}
